From: Keir Fraser Date: Mon, 25 Aug 2008 13:03:42 +0000 (+0100) Subject: x86: Time rendezvous function does not need to disable/enable IRQs. X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~14113^2~50 X-Git-Url: https://dgit.raspbian.org/%22http:/www.example.com/cgi/%22https:/%22bookmarks://%22Dat/%22http:/www.example.com/cgi/%22https:/%22bookmarks:/%22Dat?a=commitdiff_plain;h=84cc74d90ff496581636b70d480916d3668c4533;p=xen.git x86: Time rendezvous function does not need to disable/enable IRQs. Since rendezvous happens within the IPI handler, no need to specify 'wait' to on_each_cpu(). Signed-off-by: Keir Fraser --- diff --git a/xen/arch/x86/time.c b/xen/arch/x86/time.c index 74c9d04327..6cbea185cf 100644 --- a/xen/arch/x86/time.c +++ b/xen/arch/x86/time.c @@ -1004,8 +1004,6 @@ static void time_calibration_rendezvous(void *_r) struct cpu_calibration *c = &this_cpu(cpu_calibration); struct calibration_rendezvous *r = _r; - local_irq_disable(); - if ( smp_processor_id() == 0 ) { while ( atomic_read(&r->nr_cpus) != (total_cpus - 1) ) @@ -1024,8 +1022,6 @@ static void time_calibration_rendezvous(void *_r) c->stime_local_stamp = get_s_time(); c->stime_master_stamp = r->master_stime; - local_irq_enable(); - /* Callback in softirq context as soon as possible. */ set_timer(&c->softirq_callback, c->stime_local_stamp); } @@ -1036,7 +1032,7 @@ static void time_calibration(void *unused) .nr_cpus = ATOMIC_INIT(0) }; - on_each_cpu(time_calibration_rendezvous, &r, 0, 1); + on_each_cpu(time_calibration_rendezvous, &r, 0, 0); } void init_percpu_time(void)